AZIMUTH MAPPER  v1.3 "Full Lock"
Unofficial companion app for Azimuth.
Play Azimuth (Forza Horizon 2) with keyboard and mouse, or a racing wheel.

Azimuth Mapper creates a pretend Xbox controller on your PC and moves it
for you as you press keys. Azimuth only understands Xbox controllers, so
it sees a normal controller and never knows a keyboard is involved.

Azimuth Mapper isn't made by or connected to the makers of Azimuth.
(It used to be called Azimuth KeyPad.)


------------------------------------------------------------------------
NEW IN 1.3
------------------------------------------------------------------------

  - Racing wheel support: Logitech G920, G923, G29 and other PC wheels
    with pedals. See "RACING WHEEL" below.
  - A quick setup finds your steering, gas, brake and clutch by itself.
  - Logitech wheels get their buttons set up automatically.
  - New "Wheel" column in the Key bindings list, and a "Wheel" tab in
    "Dial it in".


------------------------------------------------------------------------
NEW IN 1.2.1
------------------------------------------------------------------------

  - Mouse pointer mode (F6) for the map and menus. Move the mouse and
    the game's cursor follows in any direction, diagonals included, and
    stops when you stop. Left click selects, right click goes back.
    See "MOUSE POINTER" below.


------------------------------------------------------------------------
NEW IN 1.2
------------------------------------------------------------------------

  - New name and logo: Azimuth Mapper.
  - Completely redesigned window, with LIGHT and DARK mode. It follows
    your Windows setting until you click "Dark mode" / "Light mode".
  - New controller picture. Press a key and that exact button lights up.
    Sticks show which way they're pushed, and triggers fill up.
  - Point at a button on the picture to see its keys. Click it to jump
    to its row in the Keys list. Point at a row to see its button.
  - "Revert" button: undo key changes since you last loaded or saved.
  - About and Changelog buttons at the bottom of the window.

Updating from Azimuth KeyPad: use AzimuthMapper.exe instead of the old
AzimuthKeyPad.exe (you can delete the old one). Your settings and saved
keymaps are copied over automatically the first time you open it.


------------------------------------------------------------------------
FIRST TIME SETUP (about 1 minute)
------------------------------------------------------------------------

1. Unzip this whole folder somewhere permanent, like your Desktop or
   Documents. Don't run it from inside the zip.

2. Double-click AzimuthMapper.exe

   If Windows shows "Windows protected your PC", click "More info",
   then "Run anyway". (That warning appears for any small app that
   isn't from a big publisher.)

3. The first time, a red strip under the controller says
   "One-time setup required". Click "Install driver" and go through
   the installer (Next > Install > Finish, and click Yes if Windows
   asks).

   This installs ViGEmBus, the free controller driver made by Nefarius.
   It's the same driver DS4Windows and DualSenseX use. The installer is
   included in this folder, digitally signed by Nefarius Software Solutions.

   When the installer finishes, Azimuth Mapper connects by itself. If it
   doesn't, click "Try again". If the installer asks you to restart,
   restart.

You only do this once.


------------------------------------------------------------------------
EVERY TIME YOU PLAY
------------------------------------------------------------------------

1. Open AzimuthMapper.exe FIRST.
2. Pick your keymap from "Active keymap" at the top.
3. Start Azimuth like you normally do, and drive. Leave Azimuth Mapper
   open in the background. You can minimise it.

The black strip near the top shows the state:
  ON  - keys are going to the game. Click it (or press F8) to pause.
  OFF - paused. The game sees a controller nobody is touching.

Keys only reach the game when the Azimuth Mapper window is NOT in
front. While it IS in front, you can try your keys safely: the
controller picture reacts, but the game doesn't.


------------------------------------------------------------------------
KEYMAP TEMPLATES
------------------------------------------------------------------------

The button names below are what they do in Forza's default controller
layout. If you changed the controller layout in the game's settings,
they'll do whatever you set there instead.

                     Forza Horizon   NFS Heat /      NFS Most Wanted
                     (PC)            Unbound         2005 / Carbon
  ---------------------------------------------------------------------
  Accelerate         W               W               Up arrow
  Brake / reverse    S               S               Down arrow
  Steer              A / D           A / D           Left / Right arrows
  Handbrake/select   Space, Enter    Space, Enter    Space, Enter
  Shift up / back    E, Backspace    O, Backspace    Left Shift, Backspace
  Shift down         Q               L               Left Ctrl
  Rewind             R               R               R
  Clutch (LB)        Left Shift      Q               Q
  Look back (RB)     C               E               L
  Pause / map        Esc, M          Esc, Tab        Esc, M
  Change camera      Tab             C               C
  Menus (D-pad)      Arrow keys      Arrow keys      W A S D
  Look around        I J K L         Numpad 8 4 6 2  Numpad 8 4 6 2
  Stick clicks L/R   G / H           H / G           H / V

  All templates also have: left click = accelerate, right click = brake.

  Notes:
  - Forza Horizon 2 has no nitrous, so NFS nitrous keys do nothing.
    NFS "reset car" (R) is mapped to Forza's Rewind.
  - The NFS Most Wanted template drives with the arrow keys, so menus use
    W A S D instead.
  - "Original v1.0 layout" is the very first key setup.


------------------------------------------------------------------------
YOUR OWN KEYMAPS
------------------------------------------------------------------------

  - Change any keys you like (see "Changing keys" below). The keymap at
    the top shows "EDITED" when your keys differ from the keymap you
    loaded.
  - Click "Save as +" and give it a name, e.g. "My drift setup".
    It now appears under MY KEYMAPS in the drop-down.
  - Changed one of your own keymaps? Click "Save" (or "Save changes"
    under the Keys list) to update it.
  - "Revert" puts the keys back to how the keymap was saved.
  - The x button deletes the selected keymap of yours. Templates can't
    be deleted or overwritten. Use "Save as +" to keep a tweaked copy.
  - If you switch keymaps while you have unsaved changes, it asks first.

Sharing: in the keymap drop-down, choose "Open keymaps folder". Each
keymap is a small .keymap file. Send it to a friend. They put it in
their own keymaps folder and it shows up in their drop-down.


------------------------------------------------------------------------
CHANGING KEYS
------------------------------------------------------------------------

In the Key bindings list on the right:
  - Click a key box, then press the key you want. (Wheel buttons go in
    the "Wheel" column, see "RACING WHEEL".)
  - To use a mouse button, click the box, then click it again with that
    button (left, right, middle or the side buttons). You can also spin
    the mouse wheel to use wheel up / wheel down.
  - Right-click a box to clear it.
  - Click anywhere else to cancel.
  - Each action can have two keys.
  - If you pick a key that's already used elsewhere, it moves to the new
    action and the message under the list tells you where it came from.

Tip: click a button on the controller picture to jump straight to its
row in the list.

F6, F7 and F8 are the app's own keys and can't be assigned.


------------------------------------------------------------------------
SHORTCUTS (work while you're in the game)
------------------------------------------------------------------------

  F8 .... Pause / resume
  F7 .... Mouse steering on / off (for driving)
  F6 .... Mouse pointer on / off (for the map and menus)

  F6 and F7 switch each other off: the mouse is either steering or
  pointing, never both.


------------------------------------------------------------------------
MOUSE STEERING (optional)
------------------------------------------------------------------------

Press F7 in the game (or flip "Mouse steering" in "Dial it in"). Then:
  - Move the mouse right to turn right, left to turn left. The mouse
    works like a steering wheel: the wheel stays where you leave it.
    Move the mouse back to straighten up.
  - Left click = accelerate, right click = brake.
  - Steering keys still work, and they add to the mouse steering.
  - "Lock pointer to game" keeps the pointer in the middle of the game
    so it can't wander off and click another window. It only does this
    for the game window. Press F7 again to get your normal pointer back.
  - "Auto-centre wheel" makes the steering slowly straighten when you
    stop moving the mouse.
  - "Mouse sensitivity": how far you move the mouse for a full turn.


------------------------------------------------------------------------
MOUSE POINTER (map and menus)
------------------------------------------------------------------------

The game has no real mouse pointer: its map cursor is moved with the
controller's left stick. Mouse pointer mode turns your mouse movement
into that stick movement.

Press F6 in the game (or flip "Mouse pointer" in "Dial it in"). Then:
  - Move the mouse and the map/menu cursor moves the same way, in any
    direction. Move faster and it moves faster. Stop and it stops.
  - Left click = select (A). Right click = back (B).
    Left/right click do NOT accelerate or brake while F6 is on.
  - "Mouse sensitivity" sets how fast the cursor follows the mouse.
  - "Lock pointer to game" keeps your Windows pointer from wandering
    out of the game while F6 is on.
  - Press F6 again when you're done, or F7 to go straight to mouse
    steering for driving.

Don't use mouse steering (F7) on the map: it treats the mouse as a
steering wheel, so it only moves sideways and the cursor keeps
drifting.


------------------------------------------------------------------------
RACING WHEEL (Logitech G920 / G923 / G29 and others)
------------------------------------------------------------------------

Setting it up (once):
  1. Plug in the wheel and install/start its software. For Logitech
     wheels that's Logitech G HUB. Leave G HUB running while you play.
  2. In Azimuth Mapper, go to "Dial it in", click the "Wheel" tab, then
     "Set up".
  3. Follow the steps: pick your wheel, let go of everything, turn the
     wheel left, then press the gas, brake and clutch. Each step moves
     on by itself once it finds the pedal. No clutch pedal? Click Skip.
  4. Done. The meters in the Wheel tab and the controller picture move
     when you turn the wheel and press the pedals.

What does what:
  - Wheel = steering, gas pedal = accelerate, brake pedal = brake.
  - Clutch pedal = Forza's clutch button (LB) when pressed past
    halfway. Switch this off in the Wheel tab if you don't want it.
  - Buttons on Logitech wheels are set up like Forza's own wheel layout:
      G920 / G923 Xbox:  right paddle = shift up, left paddle = shift
                         down, A / B / X / Y, Menu, View and the D-pad
                         work like the controller's.
      G29 / G923 PS:     right paddle = shift up, left paddle = shift
                         down, Cross = A, Circle = B, Square = X,
                         Triangle = Y, Options = Menu, Share = View,
                         R2 = look back, L2 = clutch, D-pad = D-pad.
  - Other wheels: steering and pedals work after setup. For buttons,
    click a box in the "Wheel" column of the Key bindings list, then
    press a button on your wheel. Each action can have two wheel
    buttons. Right-click a box to clear it.
  - Wheel buttons are saved with your wheel, not in keymaps, so they
    stay the same whichever keymap you load.
  - Keyboard and mouse still work at the same time.

Wheel tab settings:
  Wheel rotation (as set in G HUB)
    Your wheel's full rotation, lock to lock. Logitech wheels are 900°
    unless you changed "Operating range" in G HUB. Keep these the same.
  Turn for full steering
    How far you turn the wheel (full left to full right) to get the
    game's full steering. 450° (the default) is quick and arcade-like.
    Higher is slower and more realistic. Lower is twitchier.
  Pedal dead zone
    Ignores the first bit of pedal travel so a resting foot doesn't
    press anything. Raise it if the car creeps or brakes by itself.

Good to know:
  - NO FORCE FEEDBACK. The game thinks it's talking to an Xbox
    controller, so all it sends back is rumble. Your wheel will only
    have G HUB's centering spring. Turn on G HUB's centering spring
    (for games without force feedback) so the wheel returns to the
    middle.
  - The game still treats the wheel like a controller stick. In the
    game's settings, set steering to "Simulation". If your game has
    "Advanced Controls", set the steering deadzones to 0 inside and
    100 outside. That makes the wheel feel much more direct.
  - If the brake isn't found during setup, open G HUB and turn off
    "Combined pedals", then run Set up again.
  - Plugged the wheel in after opening Azimuth Mapper? That's fine, it
    finds it within a couple of seconds.
  - Don't hold the View button for 2 seconds (it quits Azimuth, like
    holding Esc).


------------------------------------------------------------------------
FEEL SETTINGS ("Dial it in")
------------------------------------------------------------------------

  Keyboard steering smoothness
    A key is either fully on or off, so the app turns the wheel in
    gradually. Too twitchy? Raise this. Too sluggish? Lower it.
    0 = instant.

  Pedal smoothness
    Same idea for accelerate/brake. A little smoothing helps with
    wheelspin. 0 = instant.

  Shortcut sounds
    A short beep when you press F6, F7 or F8 in the game.

Tip: Forza's own driving assists (steering, traction control, braking)
make keyboard driving much easier. Try them on first.


------------------------------------------------------------------------
GOOD TO KNOW
------------------------------------------------------------------------

  - Azimuth quits the game if you HOLD Esc or the View button for
    2 seconds. That's Azimuth's own feature. A normal tap of Esc (pause)
    or of your camera key (View) is fine. Just don't hold them down.

  - Pressing Shift 5 times quickly makes Windows pop up "Sticky Keys",
    which can pull you out of the game. Turn that shortcut off:
    Settings > Accessibility > Keyboard > Sticky keys > switch off
    "Keyboard shortcut for Sticky keys".


------------------------------------------------------------------------
IF SOMETHING ISN'T WORKING
------------------------------------------------------------------------

  The game doesn't react
    - Open Azimuth Mapper BEFORE the game. If the game was already
      running, quit it and start it again.
    - Check the black strip says ON, and the controller section says
      LIVE (or PREVIEW ONLY while this window is in front).
    - If you run Azimuth "as administrator", run Azimuth Mapper as
      administrator too (right-click > Run as administrator).

  A button does the wrong thing in the game
    - The labels assume Forza's default controller layout. Check the
      game's controls settings, then change that key in the app.

  The wheel says "not found"
    - Check it's plugged in and its software (G HUB) is running.
    - Unplug it, plug it back in, wait a few seconds.
    - Still nothing? Click Set up again and pick it from the list.

  The steering is too slow / too fast with the wheel
    - Change "Turn for full steering" in Dial it in > Wheel.

  It says the driver is missing even after installing
    - Restart the PC, then open Azimuth Mapper again.
    - Or run ViGEmBus_1.22.0_x64_x86_arm64.exe from this folder yourself.

  F6 / F7 / F8 do something in another app
    - They're global keys while Azimuth Mapper is open. Close it when
      you're not playing.


------------------------------------------------------------------------
REMOVING IT
------------------------------------------------------------------------

  - Delete this folder.
  - Your settings and keymaps are in %AppData%\AzimuthMapper (paste that
    into the File Explorer address bar, or use About > Open settings
    folder). Delete that folder too if you like. If you used Azimuth
    KeyPad before, there's also an old %AppData%\AzimuthKeyPad folder.
  - To remove the driver: Settings > Apps > Installed apps, search
    "ViGEm", and uninstall it. Only do this if no other app of yours
    (like DS4Windows) needs it.


------------------------------------------------------------------------
WHAT'S IN THIS FOLDER
------------------------------------------------------------------------

  AzimuthMapper.exe .................... the app (needs Windows 10 or 11)
  ViGEmBus_1.22.0_x64_x86_arm64.exe .... controller driver installer
                                         (official release, signed)
  LICENSES.txt ......................... licences for the driver, the
                                         controller library and the fonts
  source\ .............................. the app's source code
